1. Field of the Invention
This invention relates to an improved method of manipulating the scale and field of view of data in computer graphic displays.
2. Description of the Prior Art
Scrolling and zooming are among the most frequently used commands in computer graphics applications such as computer aided design, drawing, graphic design, drafting, digital map reading, and navigation of graphical internet sites. This is because the full extent of the graphic data or xe2x80x9cvirtual screenxe2x80x9d is typically much larger than can be displayed by the computer""s display device in an application window or xe2x80x9cviewportxe2x80x9d at an appropriate working scale. The user typically must zoom in and scroll to a location in the virtual screen to input, edit, or view graphic data, zoom out to view its larger context, and then zoom back in again to continue, often to a different location in the virtual screen. Working in such applications users generally follow a repeating iterative pattern of zooming in and then zooming out, with associated scroll operations.
In the early prior art scroll and zoom commands were executed in many ways, for example by a keyboard action or by pointing with a mouse and clicking on a designated button, slider, pull down menu, or pop-up dialog box. The most significant limitation of early scroll operations was that they were limited to horizontal or vertical directions, so that diagonal movements required multiple steps. The most significant limitation of early zoom commands was that they only zoomed in or out on the center of the current viewport. Therefore to view an off-center location in large scale the user had to also execute a separate scroll command. Here the user had to choose whether to zoom before scrolling or vice-versa. If the user zoomed first the new area of interest would often then be far away (in large scale) and also off the screen, so the user would have to search for it while scrolling, which was inefficient. Conversely, if the user scrolled before zooming, he/she would have to estimate when the new area of interest was in the center of the viewport, which was not accurate in small scale. As a result of these scale effect problems, in practice users often had to scroll first to a general area, zoom in, and then scroll again to fine tune their location.
Several later improvements described ways to make the scrolling process more efficient. Cooper (U.S. Pat. No. 5,22,785), Watanabe and Tanaka (U.S. Pat. No. 5,583,538), and Murasaki and Kihara (U.S. Pat. No. 5,867,158) describe direct scrolling or panning to a new location designated by the xe2x80x9cpointerxe2x80x9d or cursor. These methods, however, had to be repeated in order to scroll to a location outside the original viewport. Other improvements in scrolling methods involved pointer movement in predetermined regions or with respect to a viewport or a scroll frame boundary, including Schnarell and Wirfs-Brock (U.S. Pat. No. 4,720,703), Kurakake (U.S. Pat. No. 4,734,689), Yanker (U.S. Pat. No. 5,075,673 and 5,187,776), Maejima (U.S. Pat. No. 5,696,530), Gest and Wymore (U.S. Pat. No. 5,333,247), Belifore et. al. (U.S. Pat. No. 5,7266,687), Haynes (U.S. Pat. No. 5,864,330), and Berstice and Modh (U.S. Pat. No. 5,874,936). The above improvements over the traditional scroll bar methods do not disclose a combined zoom capability.
Improvements in zoom methods include Gasperina (U.S. Pat. No. 5,491,781) and Perry (U.S. Pat. No. 5,553,225) who describe incorporating graphical zoom tools in otherwise traditional scroll bar designs. These methods function to either scroll or zoom as separate commands but do not scroll and zoom simultaneously. While scrolling these methods also remain constrained to orthogonal movements.
Another improvement in zoom methods which combines the result of a scroll function is the xe2x80x9czoom to areaxe2x80x9d command available both in the computer aided design software published by the SolidWorks Corporation of Concord, Mass. and in the Expedia(trademark) digital atlas published by Microsoft Corporation of Redmond, Wash. In this method the user creates a rectangle with a point and drag operation around an area to which he/she wishes to zoom to. If this area is not in the viewport center the zoom to area has the same result as combining a traditional center viewport zoom with a scroll operation to that area. However scrolling to a location out of the original viewport is not achieved. To do this the user would have to first zoom out to widen the original display area and then execute the zoom to area command. Or the user could scroll before or after in traditional fashion. Using the zoom to area command remains a multi-step process. Related prior art includes Yeomans (U.S. Pat. No. 4,800,379) and Allard et. al. (U.S. Pat. No. 5,615,384). Satta et. al. (U.S. Pat. No. 5,073,771) disclose a variation on the zoom to area method wherein three frames are superimposed on the viewport. A first and second frame are proportional to the relative size and position of the virtual screen and viewport respectively. A third frame represents a zoom to area in the scale of the first and second. This method does provide for a zoom to area outside the original viewport. However the three frames are a visual distraction from user data and the mental process of interpreting their meaning relative to the current viewport scale is an interruption.
Objects and Advantages
The principle object of the present invention is to provide an efficient means to navigate a virtual screen area in a subliminal way which does not divert a user""s visual attention from his or her subject. In the prior art a common attribute of mouse controlled zoom and scroll commands is that they require the user""s visual attention in maneuvering the display pointer. Moreover, the execution of zoom and scroll commands, although intuitive, generally requires a conscious cause and effect thought process. Together these brief but frequent visual and mental interruptions add up to a significant distraction from the job at hand, thus lowering user productivity. As will be disclosed below, in the present invention the display pointer disables immediately and no graphic tools come into view, so the user need attend only to his or her own data. The invention smoothly combines both scrolling and zooming in a continuous motion, automatically zooming in or out according to typical user work patterns. Scrolling in a xe2x80x9cpanning camera modexe2x80x9d is through non-location specific directional mouse movements not requiring a conscious thought process.
Navigation in a virtual screen area often requires both zooming and scrolling to reach a location. A particular object of this invention is to combine both scrolling and zooming in a single operation, and to do so in a way that is efficiently able to scroll to the entire virtual screen area. This saves time and lessens distraction from the job at hand by reducing the number of commands the user must execute.
A typical user work pattern in graphics applications is to alternate zooming in and out to and from different areas of detail. A farther particular object is therefore to provide a unified command which automatically switches itself back and forth from zooming in to zooming out, thereby anticipating user needs.
An unexpected result of the scroll/zoom in combination is that the scroll functions as a variable resolution scroll relative to the virtual screen. As noted above, scale problems arose in the prior art when users had to either scroll before zooming in or after zooming in. The present invention solves these scale problems. At the beginning of a scroll/zoom in operation the display is in small scale and scrolling quickly covers large areas of the virtual screen. As the user scrolls nearer his or her destination the scale is continuously increasing by virtue of the simultaneous zooming in. Relative to the virtual screen the mouse to pointer link thereby shifts into a higher resolution allowing the user to efficiently home in on his or her destination without requiring precise mouse control.
Another unexpected result stems from the scroll/zoom out combination. As is known, when zoomed in on an area of detail in a virtual screen and when needing to scroll to another distant area of detail, it is generally best to zoom out first. This helps the user locate the new area visually and also speeds up the scroll by reducing scale. As will be disclosed, in the current invention the user can begin to scroll in the general direction of the new area of detail while zooming out. The new area then comes into view sooner than it would have by zooming straight out from center, so the user therefore need not zoom out as far. Also he or she will then not have to zoom back in as far. This saves time. In addition the work experience is visually smoother and therefore less fatiguing with fewer extreme and abrupt changes in scale.
A further object of the present invention is to provide a means to efficiently scroll in non-orthogonal directions in the virtual screen in a way which can reach the entire virtual screen area in a single operation. This will save the user additional time.
Another object is to allow the elimination scroll bars, dedicated zoom buttons, and other related tools from the graphical user interface. This can save screen space more productively occupied by user data.
These and other objects are achieved in the following way. The invention comprises a data processing system which supports a means for display of graphic user data in the viewport of a display device and a pointing device such as a mouse. Simultaneous scroll and zoom functionality acts during detection of a user input such as simultaneous depression of two particular buttons on the mouse. During scroll/zoom functionality the mouse disconnects from the display pointer and attaches to the viewport origin so that the mouse then acts to move the viewport with respect to the virtual screen containing the entire graphic user data. In this way the user may scroll across the virtual screen as though panning a camera over a stationary subject. The data processing system further contains a software zoom toggle which directs the viewport to alternately zoom in at a predetermined rate upon detection of a first such user input, and then zoom out at a predetermined rate upon detection of a next such user input, thus anticipating typical user work patterns. Long range scrolling is efficiently performed by zooming out while beginning to scroll in a desired general direction and then switching to zoom in while continuing to scroll, thus easily homing in on the desired destination. The invention provides a means to navigate a virtual screen area in a subliminal way not requiring use of on screen graphical tools.